package com.game.base.utils;

import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * 浮点型/整形数据处理
 * Created by Su on 2019/6/20.
 */
public class DecimalUtil {

    /**
     * 有小数： 小数点后两位
     * 小数为0： 返回整数部分
     */
    public static String getFormatFloat(float num) {
        int i = (int) num;

        // 小数位0
        if (i == num) {
            return String.valueOf(i);
        }

        int j = (int) (num * 10);
        DecimalFormat decimalFormat;
        if (j == num * 10) {
            decimalFormat = new DecimalFormat("0.0");
        } else {
            decimalFormat = new DecimalFormat("0.00");
        }
        return decimalFormat.format(num);//format 返回的是字符串
    }

    /**
     * 浮点精度运算
     */
    public static float addFloat(float a, float b) {
        BigDecimal bigDecimal = new BigDecimal(String.valueOf(a));
        BigDecimal bigDecima2 =new BigDecimal(String.valueOf(b));
        return bigDecimal.add(bigDecima2).floatValue();
    }

    public static float reduceFloat(float a, float b){
        BigDecimal bigDecimal = new BigDecimal(String.valueOf(a));
        BigDecimal bigDecima2 =new BigDecimal(String.valueOf(b));
        return bigDecimal.subtract(bigDecima2).floatValue();
    }
}
